package org.lanqiao.music.system.service;

import org.lanqiao.music.common.dto.AlbumDTO;
import org.lanqiao.music.system.entity.Album;
import com.github.pagehelper.PageInfo;
import org.lanqiao.music.common.utils.PageDTO;
import org.lanqiao.music.system.vo.AlbumVo;

import java.util.List;


/**
 * (Album)表服务接口
 *
 * @author makejava
 * @since 2024-08-15 20:50:29
 */
public interface AlbumService {

    List<Album> quaryAllAlbums();

    /**
     * 通过ID查询单条数据
     *
     * @param albumId 主键
     * @return 实例对象
     */
    Album queryById(Integer albumId);

    /**
     * 分页查询
     *
     * @param album 筛选条件
     * @return 查询结果
     */
    PageInfo<Album> queryByPage(Album album, PageDTO pageDTO);

    /**
     * 新增数据
     *
     * @param album 实例对象
     * @return 实例对象
     */
    Album insert(Album album);

    /**
     * 修改数据
     *
     * @param album 实例对象
     * @return 实例对象
     */
    Album update(Album album);

    /**
     * 通过主键删除数据
     *
     * @param albumId 主键
     * @return 是否成功
     */
    boolean deleteById(Integer albumId);

    /*
    * 通过专辑ID查询其他的信息
    *
    * */
    AlbumVo searchAlbumMusic(AlbumDTO dto);

    List<AlbumVo> getHotAlbumMusic();

}
